home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / UTILITY / LCD_40B.ARJ / HISTORY.DOC next >
Text File  |  1991-08-25  |  21KB  |  408 lines

  1.  
  2.                        Led's Change Directory (LCD) v4.0
  3.  
  4.                      Copyright (c) 1991 by Keith Ledbetter.
  5.  
  6.                                All rights reserved.
  7.  
  8.  
  9.  
  10. Revision History
  11. ----------------
  12.  
  13.  v4.0b  8/25/91   o A bug was fixed where "LCD /M" would return with
  14.                     "directory /M isn't in the database" -- LCD now
  15.                     displays the current directory like it should in
  16.                     this case.
  17.  
  18.                   o A few people didn't like the fact that since the
  19.                     new Speed-Search option was added they could no
  20.                     longer go to the first entry of drive D:, for
  21.                     example, by hitting the "D" key.  This can now once
  22.                     again be done by pressing ALT plus the drive letter.
  23.                     In other words, ALT-E will take you to the first
  24.                     entry in the list on drive E:, ALT-G to drive G:, etc.
  25.  
  26.  v4.0a  8/17/91   o LCD's pop-up selection box is now twice as big as
  27.                     earlier versions.
  28.  
  29.                   o LCD now has a "speed search" option in the selection
  30.                     screen.  Any keypresses will be filtered into this
  31.                     speed-search field, and will immediately filter out
  32.                     non-matching directory names.  The speed search does
  33.                     its matching from the START of the directory name by
  34.                     default.   You can toggle this on and off by pressing
  35.                     the '*' key.  Pressing the '*' key turns on "match
  36.                     anywhere" logic.  For example, if you have directories
  37.                     named UTILS and BUTTONS, a speed search entry of "ut"
  38.                     would only show the UTILS directory.  Pressing "*"
  39.                     would show both the UTILS and the BUTTONS directories.
  40.  
  41.                   o There is now Microsoft-compatible mouse support in
  42.                     the pop-up selection box.  You must specify the "/M"
  43.                     parameter AT THE END of the command line for mouse
  44.                     support to be turned on.  You must also have loaded
  45.                     your mouse driver before invoking LCD.   If you are
  46.                     currently ALIASing CD with either 4DOS or DOS 5's
  47.                     DOSKEY, just do this:
  48.  
  49.                         4DOS:    alias cd `lcd %1 /M`
  50.  
  51.                         DOSKEY:  doskey cd=lcd $1 /M
  52.  
  53.  
  54.                     When mouse support is active, the following screen
  55.                     areas are "hot areas":
  56.  
  57.                     ┌─ aborts the program (or right mouse button)
  58.                     │
  59.                     │      ┌─ clicking on the top bar "pages up"
  60.                     │      │
  61.                  ╒═[■]══════════════════╡ ...... .... ..... ╞╤═╕
  62.    clicking on a │   ...............                         │^│- line up
  63.    name changes ─┼── ...........                             │░│
  64.    to that dir   │   ...................                     │░│
  65.                  │                                           │v│- line down
  66.                  ├───────────────────────────────────────────┴─┤
  67.                  │   ......│. .... .. . . . . . .... ... ....  │
  68.                  ├─────────┼───────────────────────────────────┤
  69.                  │   ......│. .... .. . . . . . .... ... ....  │
  70.                  ╘═════════╪═══════════════════════════════════╛
  71.                            │
  72.                            └─ clicking on this bar "pages down"
  73.  
  74.  
  75.                   o LCD can now rename subdirectories and update the
  76.                     database immediately.  This is done with the "LCD REN"
  77.                     command.  You can not specify a path name in the new
  78.                     filename.  For example, if you're not in the current
  79.                     directory for the rename, don't do this:
  80.  
  81.                              LCD ren c:\path\olddir c:\path\newdir
  82.  
  83.                     instead, simply do:
  84.  
  85.                              LCD ren c:\path\olddir newdir
  86.  
  87.                     For those of you doing aliases, you can do:
  88.  
  89.                          4DOS:     alias rendir `LCD REN %1 %2`
  90.                          DOSKEY:   doskey rendir=LCD REN $1 $2
  91.  
  92.                   o LCD now sees hidden directories when doing a scan.
  93.  
  94.                   o You can now do "LCD ..." as a shortcut to go up two
  95.                     directories, or "LCD ...." to go up three directories.
  96.  
  97.                   o An even easier shortcut is the "-n" parameter, which
  98.                     moves you up "n" directory levels.  For example, if you
  99.                     are currently in the C:\PCPLUS\DOWNLOAD\NEW\TEMP
  100.                     directory, "LCD -3" would move you to the C:\PCPLUS dir.
  101.  
  102.                   o The LCD_COLORS environment variable can now either be
  103.                     specified by NUMBER or by NAME.  For example, you can
  104.                     now say
  105.  
  106.                     SET LCD_COLORS=blue white yellow lightgray blue red
  107.  
  108.                     To get a complete listing of the available color names,
  109.                     just do an "LCD /?" command.
  110.  
  111.                   o Two new "errorlevel" conditions:
  112.  
  113.                        10 :   unable to rename the specified directory.
  114.                        11 :   a bad parameter was specified.
  115.  
  116.  v3.1a  5/05/91   o Sorry for the back-to-back releases, but 43 and 50
  117.                     line modes on EGA/VGA monitors was something that
  118.                     I'd promised for release in v3.0a.  Unfortunately,
  119.                     it completely slipped my mind.  Of course, only a
  120.                     few hours after 3.0's release, quite a few people
  121.                     reminded me of my intentions.  This version will
  122.                     actually support any number of lines as long as
  123.                     the BIOS reports it correctly.
  124.  
  125.  v3.0a  5/03/91   o From an operational point of view, it will look to
  126.                     you like LCD has changed very little.  In fact, the
  127.                     entire program has been totally rewritten from the
  128.                     ground up.  This was facilitated by one problem --
  129.                     people with large drives (normally on Networks)
  130.                     couldn't scan all of their drives because earlier
  131.                     versions of LCD would allow only a 22K database size.
  132.                     In normal use, this would usually average out to around
  133.                     a maximum of 1,100 directory entries that could be
  134.                     stored in the database.   I say "usually" because the
  135.                     way the old (v2.x) LCD stored its database was
  136.                     variable-length.
  137.  
  138.                     Version 3.x of LCD now uses a totally different,
  139.                     fixed-entry-size file format that can store up to
  140.                     4,000 directory entries in the database.
  141.  
  142.                   o Because of the new database format, you must re-scan
  143.                     after installing v3.0a.
  144.  
  145.                   o Since LCD is being used by many people as a total
  146.                     replacement for DOS's CD, RD, and MD commands (through
  147.                     aliasing), I changed the program to simply return the
  148.                     current path name if you invoke LCD with no command
  149.                     line parameters (just like DOS's CD command does).
  150.                     If you want to see the help screen, you must explicitly
  151.                     do an "LCD /?" (or "LCD /HELP") command.
  152.  
  153.                   o Because of the new database format, LCD can no longer
  154.                     store a child directory in the database if its parent
  155.                     isn't there.  In other words, if you do this (with no
  156.                     'aliases' on MD):
  157.  
  158.                            MD C:\Junk
  159.                            LCD md C:\Junk\Junk2
  160.  
  161.                     LCD will create the directory "Junk2", but it will tell
  162.                     you that it couldn't store the name in the database
  163.                     because its parent wasn't found.
  164.  
  165.                   o If you have more than 4,000 directories, LCD will
  166.                     still  abort as always, but it WILL save the directory
  167.                     database up to that point (ie: your first 4000 dirs).
  168.  
  169.                   o The LCD environment variable now specifies the entire
  170.                     filename of where you want the index to be.  If you
  171.                     don't have an LCD environment variable, the default is
  172.                     "C:\LCD.IDX" as always.  But, if you want to move it,
  173.                     you can do:
  174.  
  175.                           SET LCD=D:\Utils\SubDirs.Idx   (or whatever)
  176.  
  177.                   o I have "reversed" the /SCAN logic so that there are now
  178.                     two switches:
  179.  
  180.                            /SCAN   -  does a normal scan, INCLUDING
  181.                                       directories with extensions
  182.                            /QSCAN  -  does a v2.x-type scan, which ignores
  183.                                       directories with extensions
  184.  
  185.                     I made this change because about 95% of my tech support
  186.                     calls on LCD are this:  "it's not finding my directories
  187.                     with extensions on them!" (about 95% of my SST calls are
  188.                     for the same reason).
  189.  
  190.                   o You can now change the colors of the pop-up display box.
  191.                     You do this by setting an environment variable named
  192.                     "LCD_COLORS".  Its format:
  193.  
  194.                         Set LCD_Colors = background
  195.                                          foreground
  196.                                          highlight
  197.                                          Selection_Bar_Background
  198.                                          Selection_Bar_Foreground
  199.                                          Thumbtack_color
  200.  
  201.                     (all on one line, of course).  The colors are specified
  202.                     by number, where the colors are:
  203.  
  204.                            0  BLACK             8  DARKGRAY
  205.                            1  BLUE              9  LIGHTBLUE
  206.                            2  GREEN            10  LIGHTGREEN
  207.                            3  CYAN             11  LIGHTCYAN
  208.                            4  RED              12  LIGHTRED
  209.                            5  MAGENTA          13  LIGHTMAGENTA
  210.                            6  BROWN            14  YELLOW
  211.                            7  LIGHTGRAY        15  WHITE
  212.  
  213.                     As an example:
  214.  
  215.                            Set LCD_Colors = 7 0 14 1 15 3
  216.  
  217.                     would give you a LIGHTGRAY box, with BLACK text, YELLOW
  218.                     highlighting, BLUE selection bar with WHITE text, and a
  219.                     CYAN thumbtack (on the scroll bar).
  220.  
  221.                   o If you use LCD on a monochrome system, just do this:
  222.  
  223.                            Set LCD_Colors = Mono
  224.  
  225.                     and LCD will select a predefined monochrome color set.
  226.  
  227.                   o You can now abort the /SCAN process with the ESCape key.
  228.  
  229.                   o Two new "errorlevel" conditions:
  230.  
  231.                        8  :   there wasn't enough memory to allocate for
  232.                               the directory database.
  233.                        9  :   either the "LCD" or "LCD_COLORS" environment
  234.                               variable is incorrectly formatted.
  235.  
  236.  
  237.  v2.1   3/07/91   o LCD now returns more detailed ERRORLEVEL conditions,
  238.                     which had been asked for by quite a few users who
  239.                     invoke LCD from batch files.  The errorlevels are as
  240.                     follows:
  241.  
  242.                        0  :   LCD was successful
  243.                        1  :   LCD was successful; ignoring floppy drive
  244.                        2  :   unable to change to the drive or directory
  245.                        3  :   drive scan failed
  246.                        4  :   database error (can't read/write/create)
  247.                        5  :   can't create/remove specified directory
  248.                        6  :   no command line parameters were specified
  249.                        7  :   user aborted LCD with the ESC key
  250.  
  251.                     There is a batch file included (LCDTEST.BAT) that
  252.                     shows how you can use these values in your batch files.
  253.  
  254.  v2.0  12/01/90   o Simply an oversight: v1.4 would update the directory
  255.                     database if you used LCD to create a directory on
  256.                     drive A: or B:.  LCD no longer updates the directory
  257.                     database if you use it to make or remove a directory
  258.                     on these drives (this was probably only apparent to
  259.                     those of us who "alias" MD and RD to use LCD.EXE).
  260.  
  261.  v1.5 - v1.9      o These version numbers were skipped.
  262.  
  263.  v1.4  11/24/90   o LCD can now be used as a TOTAL replacement for DOS's
  264.                     "cd", "rd", and "md" commands.  LCD will now try to
  265.                     immediately change to the directory name that you
  266.                     specify; if that fails, only then will it go to the
  267.                     directory database to search for fuzzy matches.  In
  268.                     other words, if you have the following two directories
  269.                     somewhere:
  270.  
  271.                                     C:\TELIX\DOWNLOAD
  272.                                     C:\PROCOMM\DOWNLOAD
  273.  
  274.                     and you are currently in the C:\PROCOMM directory, then
  275.                     "LCD download" will change you to the \PROCOMM\DOWNLOAD
  276.                     directory without invoking the dialog box.
  277.  
  278.                   o LCD can now create and delete directories itself, with
  279.                     immediate updating of the directory database at the
  280.                     same time.  The syntax is:
  281.  
  282.                                  LCD md directory_name
  283.                                  LCD rd directory_name
  284.  
  285.                     These commands are most useful when used with an
  286.                     aliasing shell like CED or 4DOS.  Since I use 4DOS,
  287.                     I have aliases set up as follows:
  288.  
  289.                                  alias cd `lcd %1`
  290.                                  alias md `lcd md %1`
  291.                                  alias rd `lcd rd %1`
  292.  
  293.                   o You can now set an environment variable named LCD to
  294.                     the drive that you'd like your LCD.IDX file stored on
  295.                     (for example, SET LCD=D tells LCD to maintain your
  296.                     database in the file D:\LCD.IDX).  If there is no LCD
  297.                     environment variable, the file will be kept on drive
  298.                     C: just like before.
  299.  
  300.                   o When in the scrollable dialog box, you now have use of
  301.                     the full movement keys (PgUp, PgDn, Home, End, arrow
  302.                     keys).  You can also press C through Z to immediately
  303.                     go to that drive's directories.  This is most useful
  304.                     when doing "LCD *" to see all names in the database.
  305.  
  306.  v1.3  10/15/90   o Fixed a bug where LCD would get confused if you had a
  307.                     one-letter directory name, and that letter also occurred
  308.                     in its parent directory (ie: "c:\aRc\R").
  309.  
  310.                   o Of course, the above change can be a problem if (a) you
  311.                     have a one-character directory name, as in R, and you
  312.                     also have a lot of other directories that begin with R.
  313.                     So, I have changed LCD so that it understands an asterisk
  314.                     ('*') as a wildcard character.  Some examples are the
  315.                     easiest way to explain:
  316.  
  317.                         LCD r*      :   find all paths that BEGIN with the
  318.                                         letter 'r'.
  319.                         LCD *on     :   find all paths that have the word
  320.                                         "on" in them.
  321.                         LCD *       :   show me all paths in the database.
  322.  
  323.                  o   A few people wanted to be able to change to either
  324.                      (a) the parent directory, or (b) the root directory
  325.                      while still using LCD.  LCD will now allow this,
  326.                      so you can do:
  327.  
  328.                          LCD ..              ;go up one level
  329.                          LCD \               ;go to the root.
  330.  
  331.  v1.2  10/11/90   o  A lot of people (in fact, everyone who has contacted
  332.                      me) have suggested that LCD should give the highest
  333.                      priority to the first positions of the pathname
  334.                      specified.  In other words, if you have the following
  335.                      two paths on your hard drive:
  336.  
  337.                               c:\testing\programs
  338.                               c:\atest\data
  339.  
  340.                      then "LCD TEST" should change to the \testing\
  341.                      directory immediately.   v1.2 now does this.
  342.  
  343.                   o Overall, the matching logic in v1.2 has been greatly
  344.                     improved.  It now does a much better job of figuring
  345.                     out what you really wanted it to do.  But, it will
  346.                     probably help if you know exactly how LCD does it's
  347.                     searching.  In a nutshell, here is what LCD does:
  348.  
  349.                         1.  Look for an EXACT match on the directory name
  350.                             specified.  If more than one found, display
  351.                             the dialog box. If none found, go to step 2.
  352.  
  353.                         2.  Look for a "fuzzy" match on the name. By LCD's
  354.                             standards, a fuzzy match is the name you
  355.                             specified followed by any extra data.  For
  356.                             example, if you specify "LCD data", then all
  357.                             of the following would match:
  358.  
  359.                                 c:\data1
  360.                                 c:\database
  361.                                 f:\dataset
  362.  
  363.                             If more than one match found, display the
  364.                             dialog box. If none found, go to step 3.
  365.  
  366.                         3.  At this point, LCD just looks for the partial
  367.                             string anywhere in a path name, preceeded or
  368.                             followed by any characters.
  369.  
  370.                   o Since so very few people use extensions on their
  371.                     directory names, I changed the logic to once again
  372.                     use "*." for directory searches instead of "*.*".
  373.                     This speeds the /SCAN function up by about 50%.  If
  374.                     you have directory names with extensions on them,
  375.                     then you must use the /ESCAN switch instead of /SCAN.
  376.                     Operation is the same, except that LCD will then use
  377.                     the slower scanning method.
  378.  
  379.  v1.1  10/04/90   o Since the .IDX file is stored a little differently,
  380.                     you MUST do a /SCAN before using LCD v1.1 (this is
  381.                     for those of you currently using v1.0).
  382.  
  383.                   o LCD is now much smarter on "fuzzy" directory names.
  384.                     For example, "lcd pcp" will now change you to your
  385.                     "d:\pcplus" directory always, even if you have
  386.                     "pcplus\downloads" and "pcplus\uploads", etc.
  387.  
  388.                   o When LCD can't figure out which directory you really
  389.                     want, it will now pop up a scrollable dialog box with
  390.                     all of the matches found in it.  You simply move the
  391.                     highlight bar to the directory that you want, and then
  392.                     press <Enter>.
  393.  
  394.                     A lot of people requested something like this, and I
  395.                     wasn't sure how I was going to like it at first.  But,
  396.                     after playing with it for a couple of days, I think it
  397.                     was a good idea.  It's much more logical than LCD trying
  398.                     to "cycle" through all of the matches one invocation at
  399.                     a time.
  400.  
  401.                   o A few people also complained about LCD not seeing
  402.                     directories that have an extension on them
  403.                     (ie: MYDATA.DIR).  I still can't sneak by anybody on
  404.                     this issue!  So, LCD v1.1 now sees directories with
  405.                     extensions;  you will notice that the /SCAN function
  406.                     takes around twice as long to run now.
  407.  
  408.